package com.yunzhou.mapper;

import com.yunzhou.entity.ForumComment;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ForumCommentMapper {
    // 根据评论ID获取评论
    ForumComment getForumCommentByForumCommentId(Long commentId);

    // 根据文章ID获取所有的一级评论
    List<ForumComment> getForumComment1(Long articleId,Integer orderType,Integer pageNum,Integer pageSize);

    // 根据文章ID获取所有一级评论数
    Integer getForumComment1Total(Long articleId);

    // 根据所有一级文章ID获取所有二级评论
    List<ForumComment> getForumComment2(Long articleId, List<Long> parentCommentIds);

    // 评论点赞/取消点赞
    void updateForumCommentLikeCountByCommentId(Long commentId, Integer count);

    // 评论更新
    void update(ForumComment forumComment);

    // 评论置顶/取消置顶
    void updateForumCommentTopTypeByCommentId(Long commentId);

    // 新增一条评论
    void insert(ForumComment forumComment);

    // 根据用户ID获取评论列表
    List<ForumComment> getForumCommentListByUserId(Long userId,Integer orderType,Integer pageNum,Integer pageSize);
    // 根据用户ID获取评论总数
    Integer getForumCommentListTotalByUserId(Long userId);

    // 根据接收人ID获取评论列表
    List<ForumComment> getForumCommentListByReplyUserId(Long replyUserId,Integer orderType,Integer pageNum,Integer pageSize);
    // 根据接收人ID获取评论总数
    Integer getForumCommentListTotalByReplyUserId(Long replyUserId);

    // 根据评论ID删除评论
    void deleteForumCommentByCommentId(Long commentId);
}
